import axios from "axios";
import { ElMessage } from "element-plus";
interface ImportMetaEnv {
  [x: string]: string | undefined;
}

declare global {
  interface ImportMeta {
    readonly env: ImportMetaEnv;
  }
}

// 用axios对象的create方法，创建一个axios实例
const request = axios.create({
  // 配置对象
  baseURL: import.meta.env.VITE_API_SERVERFILE_BASE_URL,
  // 请求超时时间
  timeout: 60000 * 2,
});

// 请求拦截器：在发请求之前，请求拦截器可以检测到，可以在发送之前做一些操作
request.interceptors.request.use((config) => {
  return config;
});

// 响应拦截器
request.interceptors.response.use(
  (res) => {
    // 服务器响应成功，对数据处理
    if (res.data.code == 200) {
      return res.data.data;
    } else {
      ElMessage.error(res.data.msg);
      return Promise.reject(new Error(res.data.msg));
    }
  },
  (error) => {
    // 响应失败的回调函数
    return Promise.reject(new Error(error));
  }
);
export default request;
